#!/bin/bash

#在crontab中添加定时任务
function repoupdate_cron_insert()
{
	#每周六的13点执行更新脚本，写入root的计划任务
	printf '\n%s\n\n' "$INFCOLOR [$STATS] 添加定时任务 $NOCOLOR"
	#创建日志文件夹
	[ -d /data/mirror/log ] || mkdir -p /data/mirror/log
	if ! grep -Eqi "kylinv10_yum_update.sh" "/var/spool/cron/root" ;then
    	echo "00 13 * * 6 bash /data/mirror/scripts/kylinv10_yum_update.sh &>/dev/null" >> /var/spool/cron/root
	fi
    printf '%s\n' "$SUCCOLOR [ 成  功 ] 已成功添加定时任务 $NOCOLOR"
    (( STATS++ ))
}

function repoupdate_scripts_insert()
{
	[ -d /data/mirror/scripts ] || mkdir -p /data/mirror/scripts
	#创建更新脚本
	cat>/data/mirror/scripts/kylinv10_yum_update.sh<<EOF
#!/bin/bash
source /etc/profile
source ~/.bash_profile
echo "正在更新银河麒麟高级服务器操作系统 V10 YUM 源"
DATETIME=$(date +%F_%T) 
exec > /data/mirror/log/v10_repo_$DATETIME.log 
reposync -np /data/mirror 
if [ $? -eq 0 ];then 
	createrepo --update /data/mirror/ks10.1-adv-os-x86/ 
	createrepo --update /data/mirror/ks10.1-adv-updates-x86/ 
	createrepo --update /data/mirror/ks10.1-adv-os-aarch64/ 
	createrepo --update /data/mirror/ks10.1-adv-updates-aarch64/ 
	createrepo --update /data/mirror/ks10.2-adv-os-x86/ 
	createrepo --update /data/mirror/ks10.2-adv-updates-x86/ 
	createrepo --update /data/mirror/ks10.2-adv-os-aarch64/ 
	createrepo --update /data/mirror/ks10.2-adv-updates-aarch64/  
	echo "$DATETIME	[ 成  功 ] 已成功更新YUM源文件"
else
	echo "ERROR: $DATETIME 更新失败,请检查配置文件" 
fi
EOF

}

function kystl_repoupdate_main()
{
	[ -f /data/mirror/scripts/kylinv10_yum_update.sh ] || repoupdate_scripts_insert
	if [ ! -f /data/mirror/scripts/kylinv10_yum_update.sh ];then
		printf '\n%s\n\n' "$ERRCOLOR [ 错  误 ] 源更新脚本不存在请检查 $NOCOLOR"
		exit 1
	else
		repoupdate_cron_insert
		#执行第一次初始化更新
		bash /data/mirror/scripts/kylinv10_yum_update.sh
	fi
}


